---
title: xxlJob
---
## 分布式任务调度的基本概念
分布式任务调度的基本原理是将任务分发到多个节点上执行，并通过协调和管理保证任务的正确执行。
:::tip
分布式任务调度中的调度是将任务根据特性和需求，分配给合适的计算节点或处理单元，以提高资源利用率和任务完成效率。
:::
### 常用的调度策略
1. 基于时间触发的调度：按照预定的时间点或时间间隔执行任务。任务调度器根据任务的触发时间将任务分配给可执行的节点。
2. 基于事件触发的调度：根据外部事件的发生来触发任务的执行。任务调度器根据事件的发生将任务分配给可执行的节点。
3. 基于依赖关系的调度：任务之间的依赖关系，只有当前一个任务完成时，才能触发下一个任务的执行。任务调度器根据任务之间的依赖关系将任务分配给可执行的节点。
4. 基于负载均衡的调度：根据节点的负载情况，将任务分配给负载较低的任务进行调度，任务调度器通过检测节点的负载情况，动态调整任务的分配策略。
5. 基于容错和高可用的调度：当一个节点宕机或无法执行任务时，任务调度器能够检测到节点的状态，并将任务分配给其他可执行的节点。
6. 基于优先级的调度：为任务设置不同的优先级，优先级高的任务优先执行。任务调度器根据任务的优先级将任务分配给可执行的节点。
这些调度策略可以根据具体的需求和场景进行组合和定制。
### 分布式调度基本概念
1. 任务调度器(Job Schedule): 负责调度和管理任务的组件,用于控制任务的触发时间、执行频率、执行顺序等。任务调度器是一个中心化的组件，负责接受任务请求，并将任务分配给可执行的节点。
2. 执行器(Executor): 任务的执行者，负责接收任务调度器分配的任务，并按照指定的时间执行任务。执行器可以是一个独立的进程、一个线程，或者是一个分布式的节点。
3. 任务队列(Job Queue): 用于存储待执行的任务，任务调度器将任务加入任务队列，执行器从任务队列中获取任务并执行。任务队列可以是内存队列、消息队列，也可以是数据库持久化存储。
4. 分布式锁(Distributed Lock): 在分布式环境下，为了保证任务的唯一执行，需要使用分布式锁机制。
5. 高可用性和容错性：分布式任务需要具备高可用性和容错性，即当一个节点宕机或无法执行任务时，系统能自动切换到其它可用的节点上执行任务，保证任务的连续性和稳定性。
6. 监控和日志：为了方便管理和追踪任务的执行情况。记录任务的执行状态、执行结果和异常信息等。
